package com.ysd.service;

import java.util.List;

import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import com.ysd.entity.Modules;
import com.ysd.entity.Roles;
import com.ysd.util.Treemodule;
import com.ysd.util.Treenode;

public interface ModulesService {
	/**
	 * 获取所有模块信息
	 * 
	 * @return
	 */
	List<Treemodule> findModulesTree();

	/**
	 * 获取树结构
	 * 
	 * @param modules
	 * @return
	 */
	/**
	 * 新增或者修改模块信息
	 * 
	 * @param modules
	 * @return
	 */
	Modules insertOrUpdateModules(Modules modules);

	/**
	 * 通过ID获取模块信息
	 * 
	 * @param id
	 * @return
	 */
	Modules findModulesById(Integer id);

	/**
	 * 通过ID删除模块信息
	 * 
	 * @param id
	 */
	Integer delModulesById(Integer id);

	/**
	 * 获取所有模块信息
	 * 
	 * @return
	 */
	List<Modules> findAllModules();

	

	// ------------------------角色模块------------------------------------
	/**
	 * 获取树结构 角色模块树
	 * 
	 * @param modules
	 * @return
	 */
	List<Treemodule> getTreefront(List<Modules> modules);

	/**
	 * 获取该功能模块的子节点
	 * 
	 * @param module  功能模块
	 * @param modules 所有数据
	 * @return
	 */
	Treenode getChildrenfront(Treenode treenode, List<Modules> modules);
	/**
	 * 获取登录树结构
	 * @param modules
	 * @return
	 */
	List<Modules> getTree(List<Modules> modules);
	/**
	 * 获取该功能模块的子节点
	 * @param module 功能模块
	 * @param modules 所有数据
	 * @return
	 */
	Modules getChildren(Modules module,List<Modules> modules);
	
	/* 获取该用户的所有模块  :权限
	 * @param modules
	 * @return
	 */
	List<Treemodule> findUserModules(List<Modules> modules);
	
	
	
	
	
	//角色模块树
	List<Treemodule> getModulesTree(List<Modules> modules);
	/**
	 * 添加模块给角色
	 * @param roleid
	 * @param modeulesid
	 */
  void saveModulesrole(String RoleId, Integer ModuleId);
	/**
	 * 删除模块给角色
	 * @param roleid
	 */

	void delModulesrole(String RoleId);

}
